A virtual machine is a software implementation of a machine (computer) that includes its own operating system (referred to as a guest operating system) and executes application programs. A host computer allocates a certain amount of its resources to each of the virtual machines, and multiplexes its underlying hardware platform among the virtual machines. Each virtual machine is then able to use the allocated resources to execute its guest operating system and applications. The software layer providing the virtualization is commonly referred to as a hypervisor and is also known as a virtual machine monitor (VMM), a kernel-based hypervisor, or part of a host operating system. The hypervisor emulates the underlying hardware of the host computer, making the use of the virtual machine transparent to the guest operating system and the user of the computer.
In a virtualization system, some of the virtual machine hosts may be changed. For example, a virtual hardware component of a virtual machine may be replaced with a different virtual hardware component. In another example, a virtual hardware component may be added or removed for a virtual machine. If a virtual machine component of a virtual machine is changed, removed or added, then the corresponding guest operating system may no longer run optimally or efficiently based on settings for the previous virtual machine components.